package scene;

import geometrie.Point;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/**
 * Classe pour la Forme 3D d'unes Poids
 * avec 1 Cylindre comme le Tube et les 2 Poids a 
 * ses extremes
 * @author Manuel
 * @author Marcos
 *
 */
public class HaltereCarree implements Modele3D {
	/** Les 2 Poids (Cylindres) */
	private Cylindre poids1, poids2;
	/** Le tube qui reunis les Poids*/
	private Cylindre tube;
	/** Liste de Facettes*/
	private List<Facette3D> liste;
	/**
	 * Constructeur pour creer les Poids
	 * @throws Exception Erreur al creer les Cylindres
	 */
	public HaltereCarree() throws Exception{
		liste = new ArrayList<Facette3D>();	
		poids1 = new Cylindre(new Point(0,0,0), 30, 10, 64);
		poids1.deplacer(0,0,+50);
		poids2 = new Cylindre(new Point(0,0,0), 30, 10, 64);
		poids2.deplacer(0,0,-50);
		
		tube = new Cylindre(new Point(0,0,0),5,100,8);
		tube.deplacer(0,0,-50);
		genererListe();
	}
	/**
	 * Ajouter a la liste leurs listes des Objets
	 */
	private void genererListe(){
		liste.clear();
		liste.addAll(poids1.getListe());
		liste.addAll(poids2.getListe());
		liste.addAll(tube.getListe());

		System.out.println("termino");
	}
	/**
	 * Obtenir l'Iterator de la liste de Facettes 3D
	 */
	@Override
	public Iterator<Facette3D> getFacettes() {
		// TODO Auto-generated method stub
		return liste.iterator();
	}
	/**
	 * Boucher le Trou (il n'y aucun)
	 */
	@Override
	public void triangulePolygone(Point[] polygone) {
		// TODO Auto-generated method stub
		
	}

}
